package com.qining618.cms.ucenter.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.qining618.cms.ucenter.enums.MenuTypeEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 菜单
 * </p>
 *
 * @author qining
 * @date 2019-09-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("o_menu")
public class Menu implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 编号
     */
    @TableField("`code`")
    private String code;

    /**
     * 名称
     */
    @TableField("`name`")
    private String name;

    /**
     * 类型 1菜单 2按钮
     */
    @TableField("`type`")
    private MenuTypeEnum type;

    /**
     * 上级id
     */
    @TableField("`parent_id`")
    private Long parentId;

    /**
     * 上级菜单名称
     */
    @TableField(exist = false)
    private String parentName;

    /**
     * 下级菜单
     */
    @TableField(exist = false)
    private List<Menu> children;

    /**
     * 创建时间
     */
    @TableField("`ctime`")
    private Date ctime;

    /**
     * 修改时间
     */
    @TableField("`mtime`")
    private Date mtime;


}
